/*
 * 文件名：IFeeBillService.java
 * 描述：
 * 修改人：Administrator
 * 修改时间：2016年4月19日
 * 跟踪单号：
 * 修改单号：
 * 修改内容：
 */

package com.zcsy.manage.service.property;

import java.util.List;

import com.zcsy.manage.model.property.FeeBill;
import com.zcsy.manage.model.property.FeeBillConfig;
import com.zcsy.manage.model.property.FeeBillDetail;
import com.zcsy.manage.model.system.User;

/**
 * @Title: IFeeBillService.java
 * @Package： com.zcsy.manage.service.property 
 * @Description: 物业缴费账单记录服务层
 * @author xujl
 * @Copyright: 2016 武汉中财数元信息技术有限公司 All rights reserved.
 * @date 2016年4月19日
 * @version 1.0
 * @see JDK1.7.0_75
 * @since
 */
public interface IFeeBillService {

    /**
     * @Description 插入缴费信息<br>
     * @param record
     *            缴费对象
     * @return 1：插入成功；0：插入失败
     * @author xujl
     * @date 2016年4月14日
     * @see
     */
    int insert(FeeBill record);

    /**
     * @Description 更新缴费信息<br>
     * @param record
     *            缴费对象
     * @return 1：更新成功；0：更新失败
     * @author xujl
     * @date 2016年4月14日
     * @see
     */
    int updateByPrimaryKey(FeeBill record);

    /**
     * @Description 根据主键删除缴费信息<br>
     * @param id
     *            主键id
     * @return 1：删除成功；0：删除失败
     * @author xujl
     * @date 2016年4月14日
     * @see
     */
    int deleteByPrimaryKey(String id);

    /**
     * @Description 根据主键获取缴费信息详情<br>
     * @param id
     *            主键id
     * @return 缴费对象
     * @author xujl
     * @date 2016年4月14日
     * @see
     */
    FeeBill selectByPrimaryKey(String id);

    /**
     * @Description 根据关键字获取缴费信息列表<br>
     * @param record
     *            缴费对象
     * @return 缴费列表
     * @author xujl
     * @date 2016年4月14日
     * @see
     */
    List<FeeBill> selectByKeyword(FeeBill record);
    
    /**
     * @Description 导入物业费账单信息 
     * @param list
     * @param cellId
     * @return 
     * @author xujl
     * @date 2016年5月3日
     * @see 
     */
    int importFeeBill(List<List> list, String cellId,User user);
    
    /**
     * @Description 查出错误的数据
     * @param list  excel数据列表
     * @return 
     * @author xujl
     * @date 2016年5月10日
     * @see 
     */
    String findBug(String cellId,List<List> list);
    
    /**
     * @Method: selectFeeBillByHouseId
     * @Description 根据房屋id查询所有账单列表
     * @param housesID
     * @return 账单列表
     * @author liuziyu liuziyuwri@foxmail.com
     * @date 2016年6月30日
     * @see 
     */
    List<FeeBillDetail> selectFeeBillByHouseId(List<String> housesID);
    
    /**
     * @Description 物业缴费账单lie
     * @param housesID
     * @return
     */
    List<FeeBillDetail> getWyBillRecord(List<String> housesID);
    
    /**
     * @Description 通过账单id查账单信息
     * @param billID
     * @return
     */
    FeeBill getFeeBillInfo(String billID);
    
    /**
     * @Method: getFeeBillConfigByCellId
     * @Description 根据小区id查询小区物业费配置信息
     * @param cellId
     * @return 小区物业费配置信息
     * @author yangfan 373188993@qq.com
     * @date 2016年8月23日
     * @see 
     */
    FeeBillConfig getFeeBillConfigByCellId(String cellId);
    
    List<FeeBill> selectPropertyFeeBill(FeeBill record);

	/**
	 * @Description 根据多个房屋id查询物业费房屋关联信息数量
	 * @param houseIDs 多个房屋id
	 * @return 物业费房屋关联信息条数
	 * @author liuying 1075817474@qq.com
	 * @date 2016年9月13日
	 * @see 
	 */
	Integer selectByHouseIds(String[] houseIDs);
	
}
